/*
 * Powered By [rapid-framework]
 * Csdn Code: generate simple CRUD code in single table.
 * Since 2015 - 2017
 */

BUI.use('common/page');
BUI.use([ 'common/search', 'bui/overlay', 'bui/grid', 'bui/data','bui/form'],
	function(Search, Overlay, Grid, Data, Form) {
	
	
    $('#btnExport').click(function() {		
		jQuery.ajax({
			type : 'POST',
			url : "listchanneExport",
			data : $('#searchForm').serialize(),
			async : false,
			datatype : 'json',
			success : function(data) {
				var result = jQuery.parseJSON(data);
				window.location.href="/creditcat-admin/count/downExcel?fileName="+result.fileName;
			},
			error : function(e) {
				alert("错误！！");
			}
		});
	});  
	
	

	   var pingjiaEnum = {// 评价类型
			'0' : '用户反馈',
		};
	   
	   var youxiaoEnum = {// 是否有效
				'0' : '无效',
				'1' : '有效',
			};
	   
		
		// 查询表单
		var form = new Form.Form({
			srcNode : '#searchForm'
		}).render();
		// 定义表头
		columns = [
				{
					title : 'id',
					dataIndex : 'feedbackId',
					visible : false
				},
				{
					title : '联系人姓名',
					dataIndex : 'fbName',
					elCls : 'left',
					width : 50,

					editor : {
						xtype : 'text',
						rules : {
							required : [ true, '联系人姓名不能为空!' ]
						}
					}
				},
				{
					title : '联系信息',
					dataIndex : 'fbContact',

					elCls : 'left',
					width : 80,

					editor : {
						xtype : 'text',
						rules : {
							required : [ true, '联系信息（邮箱或手机号）不能为空!' ]
						}
					}
				},
				/*
				{
					title : '评价类型',
					dataIndex : 'fbType',
					elCls : 'center',
					width : 120,
					editor : {
						xtype : 'select',
						items : pingjiaEnum,
						rules : {
							required : [ true, '评价类型（0:用户反馈）不能为空!' ]
						}
					},
					renderer : BUI.Grid.Format
							.enumRenderer(pingjiaEnum)
				},*/
				{
					title : '评价内容',
					dataIndex : 'fbContent',

					elCls : 'left',
					width : 300,

					editor : {
						xtype : 'text',
						rules : {
							required : [ true, '评价内容（长度限制在100字以内）不能为空!' ]
						}
					}				  
				},
				/*
				{
					title : '状态 ',
					dataIndex : 'fbStatus',
					elCls : 'center',
					width : 120,
					editor : {
						xtype : 'select',
						items : youxiaoEnum,
						rules : {
							required : [ true, '状态 0：无效 1：有效不能为空!' ]
						}
					},
					renderer : BUI.Grid.Format
							.enumRenderer(youxiaoEnum)
				},*/
				{
					title : '设备描述',
					dataIndex : 'fbDesc',
					elCls : 'left',
					width : 100,
					editor : {
						xtype : 'text',
						rules : {
							required : [ true, '设备描述（手机型号、系统版本等）不能为空!' ]
						}
					}
				},
				{
					title : '创建时间',
					dataIndex : 'createTime',
					elCls : 'center',
					width : 60,
					editor : {
						xtype : 'date',
						datePicker : {
							showTime : true
						},
						rules : {
							required : [ true, '创建时间不能为空!' ]
						}
					},
					renderer : BUI.Grid.Format.datetimeRenderer
				}/*,
				{
					title : '最后更新时间',
					dataIndex : 'updateTime',
					elCls : 'center',
					width : 120,
					editor : {
						xtype : 'date',
						datePicker : {
							showTime : true
						},
						rules : {
							required : [ true, '最后更新时间不能为空!' ]
						}
					},
					renderer : BUI.Grid.Format.datetimeRenderer
				}
				,
				{
					title : '操作',
					elCls : 'center',
					width : 100,
					renderer : function(value, obj) {
						return '<span class="grid-command btn-edit">编辑</span>';
					}

				}*/	];

		// 行编辑
		var editing = new Grid.Plugins.RowEditing({
			triggerCls : 'btn-edit',
			triggerSelected : false
		}),
		// 获取数据
		store = new BUI.Data.Store({
			url : 'listFeedback?field=createTime&direction=desc',
			pageSize : 20,
			autoLoad : true,
			remoteSort : true
		});
	  // 获取表格对象
	  gridCfg = Search.createGridCfg(columns, {
      forceFit : true,
      plugins : [ editing, Grid.Plugins.CheckSelection ],
			tbar : { // 添加、删除
				items : [ {
					btnCls : 'button button-small',
					text : '<i class="icon-plus"></i>添加',
					listeners : {
						'click' : addFunction
					}
				}, {
					btnCls : 'button button-small',
					text : '<i class="icon-refresh"></i>刷新',
					listeners : {
						'click' : refreshFunction
					}
				},  {
					btnCls : 'button button-small',
					text : '<i class="icon-remove"></i>删除',
					listeners : {
						'click' : delFunction
					}
				} ]
			}
		});
		// 触发编辑
		editing.on('editorshow', function(ev) {
			var editor = editing.get('curEditor');
			editor.set('errorAlign', {
				points : [ 'br', 'tr' ],
				offset : [ 0, 10 ]
			});
		});
		// 编辑提交
		editing.on('accept', function(ev) {
			var record = editing.get('record');
			// console.log(record);
			if (record.hasOwnProperty("b"))
				delete record["b"];
			if (record.hasOwnProperty(""))
				delete record[""];
			if (record.hasOwnProperty("createTime"))
				delete record["createTime"];
			if (record.hasOwnProperty("updateTime"))
				delete record["updateTime"];
			var saveUrl = record["feedbackId"] === "" ? 'saveFeedback'
					: 'updateFeedback';
			jQuery.ajax({
				type : 'POST',
				url : saveUrl,
				dataType : 'json',
				contentType : 'application/json;charset=UTF-8',
				data : JSON.stringify(record),
				complete : function(data) {
					if (data.responseText == "success") { // 删除成功
						search.load();
					} else { // 删除失败
						BUI.Message.Alert('保存失败！');
					}
				}
			});
		});
		// 添加记录
		function addFunction() {
			var newData = {
				'fbName' : ''
			};
			store.addAt(newData, 0);
			editing.edit(newData, 'fbName'); // 添加记录后，直接编辑
		}
		// 删除选中的记录
		function delFunction() {
			var selections = grid.getSelection();
			delItems(selections);
			store.remove(selections);
		}
		// 刷新
		function refreshFunction() {
			search.load();
		}
		// 删除
		function delItems(items) {
			var ids = "";
			BUI.each(items, function(item) {
				ids += item.feedbackId + ",";
			});
			if (ids.length) {
				BUI.Message.Confirm('确认要删除选中的记录么？', function() {
					jQuery.ajax({
						type : 'POST',
						url : 'removeFeedback',
						dataType : 'json',
						data : {
							'ids' : ids
						},
						complete : function(data) {
							if (data.responseText == "success") { // 删除成功
								search.load();
							} else { // 删除失败
								BUI.Message.Alert('删除失败！');
							}
						}
					});
				}, 'question');
			}
		}
		// 查询
		search = new Search({
			store : store,
			autoSearch : true,
			gridCfg : gridCfg
		});
		grid = search.get('grid');
	});